//: [Previous](@previous)

import Foundation

protocol Logging {
    func test()
}

extension Logging {
    func test() {
        print("this is extension")
    }
}

class A: Logging {
    func test() {
        print("this is class A")
    }
}

class B: A {
    override func test() {
        print("this is class B")
    }
}

func global(a: A) {
    print("this is a")
}

func global(a: B) {
    print("this is b")
}

let b = B()
global(a: b)

let a: A = b
global(a: a)

//: [Next](@next)
